home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / web / noweb / src / icon / defns.nw < prev    next >
Text File  |  1995-02-24  |  734b  |  34 lines

  1. <<*>>=
  2. procedure go()
  3.   local line
  4.   while line := read() do {
  5.     apply(prepass, line)
  6.     write(line)
  7.     apply(postpass, line)
  8.   }
  9. end
  10.  
  11. procedure apply(pass, line)
  12.     line ? (="@" & pass(tab(upto(' ')|0),  if =" " then tab(0) else &null))
  13. end
  14. @
  15. [[indextext]] is a hack to introduce suitable ``[[@index nl]],'' but it
  16. messes up the line counts!
  17. <<*>>=
  18. procedure writedefn(defn, locl)
  19.   static indextext
  20.   initial indextext := ""
  21.   if /defn then
  22.     *indextext > 0 & <<flush index>>
  23.   else {
  24.     if *indextext + *defn > 65 then <<flush index>>
  25.     write(if \locl then "@index localdefn" else "@index defn ", defn)
  26.     indextext ||:= " " || defn
  27.   }
  28.   return
  29. end
  30. <<flush index>>=
  31. { # write("@index nl")        # don't!
  32.   indextext := ""
  33. }
  34.